/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package me.uniauto.zz.cwl.entity.syrk;

import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 人口Entity
 * @author 王宽
 * @version 2019-02-15
 */
@Table(name="cwl_syrk_rk", alias="a", columns={
		@Column(name="sswg", attrName="sswg", label="所属网格"),
		@Column(name="sswgmc", attrName="sswgmc", label="所属网格名称"),
		@Column(name="jmxxid", attrName="jmxxid", label="居民信息id", isPK=true),
		@Column(name="gmsfhm", attrName="gmsfhm", label="公民身份号码编码应符合GB 11643"),
		@Column(name="xm", attrName="xm", label="姓名", queryType=QueryType.LEFT_LIKE),
		@Column(name="cym", attrName="cym", label="曾用名"),
		@Column(name="xb", attrName="xb", label="性别编码应符合GB/T 2261。1"),
		@Column(name="csrq", attrName="csrq", label="出生日期格式为“YYYYMMDD”"),
		@Column(name="mz", attrName="mz", label="民族编码应符合GB/T 3304"),
		@Column(name="hyzk", attrName="hyzk", label="婚姻状况"),
		@Column(name="zzmm", attrName="zzmm", label="政治面貌编码应符合GB/T 4762"),
		@Column(name="xl", attrName="xl", label="学历编码应符合GB/T 4658"),
		@Column(name="zjxy", attrName="zjxy", label="宗教信仰"),
		@Column(name="zylb", attrName="zylb", label="职业类别"),
		@Column(name="zy", attrName="zy", label="职业"),
		@Column(name="fwcs", attrName="fwcs", label="服务处所"),
		@Column(name="lxfs", attrName="lxfs", label="联系方式手机或固定电话"),
		@Column(name="hjmxz", attrName="hjmxz", label="户籍门详址"),
		@Column(name="xzmxz", attrName="xzmxz", label="现住门详址"),
		@Column(name="bz", attrName="bz", label="备注"),
		@Column(name="cjr", attrName="cjr", label="创建人"),
		@Column(name="cjdw", attrName="cjdw", label="创建单位"),
		@Column(name="cjrq", attrName="cjrq", label="创建日期"),
		@Column(name="gxr", attrName="gxr", label="更新人"),
		@Column(name="gxdw", attrName="gxdw", label="更新单位"),
		@Column(name="gxrq", attrName="gxrq", label="更新日期"),
		@Column(name="jg", attrName="jg", label="籍贯"),
		@Column(name="hjd", attrName="hjd", label="户籍地"),
		@Column(name="xzd", attrName="xzd", label="现住地"),
		@Column(name="yhzgx", attrName="yhzgx", label="与户主关系"),
		@Column(name="rhzk", attrName="rhzk", label="人户状况"),
		@Column(name="tc", attrName="tc", label="特长"),
		@Column(name="ldrk", attrName="ldrk", label="流动人口"),
		@Column(name="xx", attrName="xx", label="血型"),
		@Column(name="sg", attrName="sg", label="身高"),
		@Column(name="cjgzsj", attrName="cjgzsj", label="参加工作时间"),
		@Column(name="jhrq", attrName="jhrq", label="结婚日期"),
		@Column(name="gj", attrName="gj", label="国籍"),
		@Column(name="gzdw", attrName="gzdw", label="工作单位"),
		@Column(name="byqk", attrName="byqk", label="兵役情况"),
		@Column(name="jkzk", attrName="jkzk", label="健康状况"),
		@Column(name="ssdp", attrName="ssdp", label="所属党派"),
		@Column(name="qrqcxx", attrName="qrqcxx", label="迁入迁出信息"),
		@Column(name="hsyhdqr", attrName="hsyhdqr", label="何时由何地迁入"),
		@Column(name="ms", attrName="ms", label="描述"),
		@Column(name="hb", attrName="hb", label="户别"),
		@Column(name="hkxz", attrName="hkxz", label="户口性质"),
		@Column(name="ssdy", attrName="ssdy", label="所属单元"),
		@Column(name="sslc", attrName="sslc", label="所属楼层"),
		@Column(name="fwmc", attrName="fwmc", label="房屋名称"),
		@Column(name="fwid", attrName="fwid", label="房屋ID"),
		@Column(name="source", attrName="source", label="数据来源"),
		@Column(name="tx", attrName="tx", label="头像链接"),
		@Column(name="xzdcsq", attrName="xzdcsq", label="现住地村社区代码", comment="现住地村社区代码（行政区划后13位）"),
		@Column(name="jgcsq", attrName="jgcsq", label="籍贯村社区", comment="籍贯村社区（行政区划后13位编码）"),
		@Column(name="hjdcsq", attrName="hjdcsq", label="户籍地村社区", comment="户籍地村社区（行政区划后13位代码）"),
	}, orderBy="a.jmxxid DESC"
)
public class CwlSyrkRk extends DataEntity<CwlSyrkRk> {
	
	private static final long serialVersionUID = 1L;
	private String sswg;		// 所属网格
	private String sswgmc;		// 所属网格名称
	private String jmxxid;		// 居民信息id
	private String gmsfhm;		// 公民身份号码编码应符合GB 11643
	private String xm;		// 姓名
	private String cym;		// 曾用名
	private String xb;		// 性别编码应符合GB/T 2261。1
	private Date csrq;		// 出生日期格式为“YYYYMMDD”
	private String mz;		// 民族编码应符合GB/T 3304
	private String hyzk;		// 婚姻状况
	private String zzmm;		// 政治面貌编码应符合GB/T 4762
	private String xl;		// 学历编码应符合GB/T 4658
	private String zjxy;		// 宗教信仰
	private String zylb;		// 职业类别
	private String zy;		// 职业
	private String fwcs;		// 服务处所
	private String lxfs;		// 联系方式手机或固定电话
	private String hjmxz;		// 户籍门详址
	private String xzmxz;		// 现住门详址
	private String bz;		// 备注
	private String cjr;		// 创建人
	private String cjdw;		// 创建单位
	private Date cjrq;		// 创建日期
	private String gxr;		// 更新人
	private String gxdw;		// 更新单位
	private Date gxrq;		// 更新日期
	private String jg;		// 籍贯
	private String hjd;		// 户籍地
	private String xzd;		// 现住地
	private String yhzgx;		// 与户主关系
	private String rhzk;		// 人户状况
	private String tc;		// 特长
	private String ldrk;		// 流动人口
	private String xx;		// 血型
	private String sg;		// 身高
	private String cjgzsj;		// 参加工作时间
	private Date jhrq;		// 结婚日期
	private String gj;		// 国籍
	private String gzdw;		// 工作单位
	private String byqk;		// 兵役情况
	private String jkzk;		// 健康状况
	private String ssdp;		// 所属党派
	private String qrqcxx;		// 迁入迁出信息
	private String hsyhdqr;		// 何时由何地迁入
	private String ms;		// 描述
	private String hb;		// 户别
	private String hkxz;		// 户口性质
	private String ssdy;		// 所属单元
	private String sslc;		// 所属楼层
	private String fwmc;		// 房屋名称
	private String fwid;		// 房屋ID
	private String source;		// 数据来源
	private String tx;		// 头像链接
	private String xzdcsq;		// 现住地村社区代码（行政区划后13位）
	private String jgcsq;		// 籍贯村社区（行政区划后13位编码）
	private String hjdcsq;		// 户籍地村社区（行政区划后13位代码）
	
	public CwlSyrkRk() {
		this(null);
	}

	public CwlSyrkRk(String id){
		super(id);
	}
	
	@NotBlank(message="所属网格不能为空")
	@Length(min=0, max=255, message="所属网格长度不能超过 255 个字符")
	public String getSswg() {
		return sswg;
	}

	public void setSswg(String sswg) {
		this.sswg = sswg;
	}
	
	@NotBlank(message="所属网格名称不能为空")
	@Length(min=0, max=100, message="所属网格名称长度不能超过 100 个字符")
	public String getSswgmc() {
		return sswgmc;
	}

	public void setSswgmc(String sswgmc) {
		this.sswgmc = sswgmc;
	}
	
	public String getJmxxid() {
		return jmxxid;
	}

	public void setJmxxid(String jmxxid) {
		this.jmxxid = jmxxid;
	}
	
	@NotBlank(message="公民身份号码编码应符合GB 11643不能为空")
	@Length(min=0, max=18, message="公民身份号码编码应符合GB 11643长度不能超过 18 个字符")
	public String getGmsfhm() {
		return gmsfhm;
	}

	public void setGmsfhm(String gmsfhm) {
		this.gmsfhm = gmsfhm;
	}
	
	@NotBlank(message="姓名不能为空")
	@Length(min=0, max=50, message="姓名长度不能超过 50 个字符")
	public String getXm() {
		return xm;
	}

	public void setXm(String xm) {
		this.xm = xm;
	}
	
	@Length(min=0, max=50, message="曾用名长度不能超过 50 个字符")
	public String getCym() {
		return cym;
	}

	public void setCym(String cym) {
		this.cym = cym;
	}
	
	@NotBlank(message="性别编码应符合GB/T 2261。1不能为空")
	@Length(min=0, max=1, message="性别编码应符合GB/T 2261。1长度不能超过 1 个字符")
	public String getXb() {
		return xb;
	}

	public void setXb(String xb) {
		this.xb = xb;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="出生日期格式为“YYYYMMDD”不能为空")
	public Date getCsrq() {
		return csrq;
	}

	public void setCsrq(Date csrq) {
		this.csrq = csrq;
	}
	
	@NotBlank(message="民族编码应符合GB/T 3304不能为空")
	@Length(min=0, max=2, message="民族编码应符合GB/T 3304长度不能超过 2 个字符")
	public String getMz() {
		return mz;
	}

	public void setMz(String mz) {
		this.mz = mz;
	}
	
	@NotBlank(message="婚姻状况不能为空")
	@Length(min=0, max=2, message="婚姻状况长度不能超过 2 个字符")
	public String getHyzk() {
		return hyzk;
	}

	public void setHyzk(String hyzk) {
		this.hyzk = hyzk;
	}
	
	@NotBlank(message="政治面貌编码应符合GB/T 4762不能为空")
	@Length(min=0, max=2, message="政治面貌编码应符合GB/T 4762长度不能超过 2 个字符")
	public String getZzmm() {
		return zzmm;
	}

	public void setZzmm(String zzmm) {
		this.zzmm = zzmm;
	}
	
	@NotBlank(message="学历编码应符合GB/T 4658不能为空")
	@Length(min=0, max=2, message="学历编码应符合GB/T 4658长度不能超过 2 个字符")
	public String getXl() {
		return xl;
	}

	public void setXl(String xl) {
		this.xl = xl;
	}
	
	@Length(min=0, max=2, message="宗教信仰长度不能超过 2 个字符")
	public String getZjxy() {
		return zjxy;
	}

	public void setZjxy(String zjxy) {
		this.zjxy = zjxy;
	}
	
	@NotBlank(message="职业类别不能为空")
	@Length(min=0, max=5, message="职业类别长度不能超过 5 个字符")
	public String getZylb() {
		return zylb;
	}

	public void setZylb(String zylb) {
		this.zylb = zylb;
	}
	
	@NotBlank(message="职业不能为空")
	@Length(min=0, max=30, message="职业长度不能超过 30 个字符")
	public String getZy() {
		return zy;
	}

	public void setZy(String zy) {
		this.zy = zy;
	}
	
	@Length(min=0, max=100, message="服务处所长度不能超过 100 个字符")
	public String getFwcs() {
		return fwcs;
	}

	public void setFwcs(String fwcs) {
		this.fwcs = fwcs;
	}
	
	@NotBlank(message="联系方式手机或固定电话不能为空")
	@Length(min=0, max=50, message="联系方式手机或固定电话长度不能超过 50 个字符")
	public String getLxfs() {
		return lxfs;
	}

	public void setLxfs(String lxfs) {
		this.lxfs = lxfs;
	}
	
	@NotBlank(message="户籍门详址不能为空")
	@Length(min=0, max=80, message="户籍门详址长度不能超过 80 个字符")
	public String getHjmxz() {
		return hjmxz;
	}

	public void setHjmxz(String hjmxz) {
		this.hjmxz = hjmxz;
	}
	
	@NotBlank(message="现住门详址不能为空")
	@Length(min=0, max=80, message="现住门详址长度不能超过 80 个字符")
	public String getXzmxz() {
		return xzmxz;
	}

	public void setXzmxz(String xzmxz) {
		this.xzmxz = xzmxz;
	}
	
	public String getBz() {
		return bz;
	}

	public void setBz(String bz) {
		this.bz = bz;
	}
	
	@Length(min=0, max=36, message="创建人长度不能超过 36 个字符")
	public String getCjr() {
		return cjr;
	}

	public void setCjr(String cjr) {
		this.cjr = cjr;
	}
	
	@Length(min=0, max=60, message="创建单位长度不能超过 60 个字符")
	public String getCjdw() {
		return cjdw;
	}

	public void setCjdw(String cjdw) {
		this.cjdw = cjdw;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCjrq() {
		return cjrq;
	}

	public void setCjrq(Date cjrq) {
		this.cjrq = cjrq;
	}
	
	@Length(min=0, max=36, message="更新人长度不能超过 36 个字符")
	public String getGxr() {
		return gxr;
	}

	public void setGxr(String gxr) {
		this.gxr = gxr;
	}
	
	@Length(min=0, max=60, message="更新单位长度不能超过 60 个字符")
	public String getGxdw() {
		return gxdw;
	}

	public void setGxdw(String gxdw) {
		this.gxdw = gxdw;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getGxrq() {
		return gxrq;
	}

	public void setGxrq(Date gxrq) {
		this.gxrq = gxrq;
	}
	
	@Length(min=0, max=50, message="籍贯长度不能超过 50 个字符")
	public String getJg() {
		return jg;
	}

	public void setJg(String jg) {
		this.jg = jg;
	}
	
	@Length(min=0, max=50, message="户籍地长度不能超过 50 个字符")
	public String getHjd() {
		return hjd;
	}

	public void setHjd(String hjd) {
		this.hjd = hjd;
	}
	
	@Length(min=0, max=50, message="现住地长度不能超过 50 个字符")
	public String getXzd() {
		return xzd;
	}

	public void setXzd(String xzd) {
		this.xzd = xzd;
	}
	
	@Length(min=0, max=255, message="与户主关系长度不能超过 255 个字符")
	public String getYhzgx() {
		return yhzgx;
	}

	public void setYhzgx(String yhzgx) {
		this.yhzgx = yhzgx;
	}
	
	@Length(min=0, max=255, message="人户状况长度不能超过 255 个字符")
	public String getRhzk() {
		return rhzk;
	}

	public void setRhzk(String rhzk) {
		this.rhzk = rhzk;
	}
	
	@Length(min=0, max=255, message="特长长度不能超过 255 个字符")
	public String getTc() {
		return tc;
	}

	public void setTc(String tc) {
		this.tc = tc;
	}
	
	@Length(min=0, max=255, message="流动人口长度不能超过 255 个字符")
	public String getLdrk() {
		return ldrk;
	}

	public void setLdrk(String ldrk) {
		this.ldrk = ldrk;
	}
	
	@Length(min=0, max=255, message="血型长度不能超过 255 个字符")
	public String getXx() {
		return xx;
	}

	public void setXx(String xx) {
		this.xx = xx;
	}
	
	@Length(min=0, max=255, message="身高长度不能超过 255 个字符")
	public String getSg() {
		return sg;
	}

	public void setSg(String sg) {
		this.sg = sg;
	}
	
	@Length(min=0, max=255, message="参加工作时间长度不能超过 255 个字符")
	public String getCjgzsj() {
		return cjgzsj;
	}

	public void setCjgzsj(String cjgzsj) {
		this.cjgzsj = cjgzsj;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getJhrq() {
		return jhrq;
	}

	public void setJhrq(Date jhrq) {
		this.jhrq = jhrq;
	}
	
	@Length(min=0, max=255, message="国籍长度不能超过 255 个字符")
	public String getGj() {
		return gj;
	}

	public void setGj(String gj) {
		this.gj = gj;
	}
	
	@Length(min=0, max=255, message="工作单位长度不能超过 255 个字符")
	public String getGzdw() {
		return gzdw;
	}

	public void setGzdw(String gzdw) {
		this.gzdw = gzdw;
	}
	
	@Length(min=0, max=255, message="兵役情况长度不能超过 255 个字符")
	public String getByqk() {
		return byqk;
	}

	public void setByqk(String byqk) {
		this.byqk = byqk;
	}
	
	@Length(min=0, max=255, message="健康状况长度不能超过 255 个字符")
	public String getJkzk() {
		return jkzk;
	}

	public void setJkzk(String jkzk) {
		this.jkzk = jkzk;
	}
	
	@Length(min=0, max=255, message="所属党派长度不能超过 255 个字符")
	public String getSsdp() {
		return ssdp;
	}

	public void setSsdp(String ssdp) {
		this.ssdp = ssdp;
	}
	
	@Length(min=0, max=255, message="迁入迁出信息长度不能超过 255 个字符")
	public String getQrqcxx() {
		return qrqcxx;
	}

	public void setQrqcxx(String qrqcxx) {
		this.qrqcxx = qrqcxx;
	}
	
	@Length(min=0, max=255, message="何时由何地迁入长度不能超过 255 个字符")
	public String getHsyhdqr() {
		return hsyhdqr;
	}

	public void setHsyhdqr(String hsyhdqr) {
		this.hsyhdqr = hsyhdqr;
	}
	
	@Length(min=0, max=255, message="描述长度不能超过 255 个字符")
	public String getMs() {
		return ms;
	}

	public void setMs(String ms) {
		this.ms = ms;
	}
	
	@Length(min=0, max=255, message="户别长度不能超过 255 个字符")
	public String getHb() {
		return hb;
	}

	public void setHb(String hb) {
		this.hb = hb;
	}
	
	@Length(min=0, max=255, message="户口性质长度不能超过 255 个字符")
	public String getHkxz() {
		return hkxz;
	}

	public void setHkxz(String hkxz) {
		this.hkxz = hkxz;
	}
	
	@Length(min=0, max=255, message="所属单元长度不能超过 255 个字符")
	public String getSsdy() {
		return ssdy;
	}

	public void setSsdy(String ssdy) {
		this.ssdy = ssdy;
	}
	
	@Length(min=0, max=255, message="所属楼层长度不能超过 255 个字符")
	public String getSslc() {
		return sslc;
	}

	public void setSslc(String sslc) {
		this.sslc = sslc;
	}
	
	@Length(min=0, max=255, message="房屋名称长度不能超过 255 个字符")
	public String getFwmc() {
		return fwmc;
	}

	public void setFwmc(String fwmc) {
		this.fwmc = fwmc;
	}
	
	@Length(min=0, max=255, message="房屋ID长度不能超过 255 个字符")
	public String getFwid() {
		return fwid;
	}

	public void setFwid(String fwid) {
		this.fwid = fwid;
	}
	
	@Length(min=0, max=255, message="数据来源长度不能超过 255 个字符")
	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}
	
	@Length(min=0, max=200, message="头像链接长度不能超过 200 个字符")
	public String getTx() {
		return tx;
	}

	public void setTx(String tx) {
		this.tx = tx;
	}
	
	@Length(min=0, max=255, message="现住地村社区代码长度不能超过 255 个字符")
	public String getXzdcsq() {
		return xzdcsq;
	}

	public void setXzdcsq(String xzdcsq) {
		this.xzdcsq = xzdcsq;
	}
	
	@Length(min=0, max=255, message="籍贯村社区长度不能超过 255 个字符")
	public String getJgcsq() {
		return jgcsq;
	}

	public void setJgcsq(String jgcsq) {
		this.jgcsq = jgcsq;
	}
	
	@Length(min=0, max=255, message="户籍地村社区长度不能超过 255 个字符")
	public String getHjdcsq() {
		return hjdcsq;
	}

	public void setHjdcsq(String hjdcsq) {
		this.hjdcsq = hjdcsq;
	}
	
}